/**
 * @(#)ChargeLog.java.java	1.0  13-06-2014 
 *
 * Copyright 2014 Viettel Telecome. All rights reserved.
 * VIETTEL PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
package com.viettel.core.entities.report;

import java.io.Serializable;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

/**
 *  DAU SO
 *  @author: toantm1
 *  @since: 13-06-2014 - 17:20:04
 */
@Entity
@Table(name = "SMS_SHORT_CODE")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@SequenceGenerator(name = "SEQ_STORE", sequenceName = "SMS_SHORT_CODE_SEQ", allocationSize = 1)
public class SmsShortCode implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -2975895658333276330L;
	
	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_STORE")
	@Column(name = "ID")
	private Long id;
	
	/**
	 * Dau so, vd: 6000 -> 6700
	 */
	@Basic
	@Column(name = "SHORT_CODE", length = 10, nullable=false)
	private String shortCode;
	
	/**
	 * Gia tien (VND) vd: 1000, 2000
	 */
	@Basic
	@Column(name = "PRICE")
	private Long price;
	
	/**
	 * VAT dau so
	 */
	@Basic
	@Column(name = "VAT", precision=3, scale=0)
	private Short vat;
	
	/**
	 * 0: ko active ; 1 : active
	 */
	@Basic
	@Column(name = "STATUS")
    private Byte status;

	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @return the shortCode
	 */
	public String getShortCode() {
		return shortCode;
	}

	/**
	 * @return the price
	 */
	public Long getPrice() {
		return price;
	}

	/**
	 * @return the vat
	 */
	public Short getVat() {
		return vat;
	}

	/**
	 * @return the status
	 */
	public Byte getStatus() {
		return status;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * @param shortCode the shortCode to set
	 */
	public void setShortCode(String shortCode) {
		this.shortCode = shortCode;
	}

	/**
	 * @param price the price to set
	 */
	public void setPrice(Long price) {
		this.price = price;
	}

	/**
	 * @param vat the vat to set
	 */
	public void setVat(Short vat) {
		this.vat = vat;
	}

	/**
	 * @param status the status to set
	 */
	public void setStatus(Byte status) {
		this.status = status;
	}
}
